package com.budwk.app.sqfw.models;

import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.util.Date;
import java.util.List;

/**
 * @author ZY.Wang
 * @since 2023/10/23
 */
@Data
@Accessors(chain = true)
@Table("shequ.sqfw_censuspaper")
@Comment("人口调查表")
@ApiModel(description = "人口调查表")
public class Sqfw_cenSusPaper {

    private static final long serialVersionUID = 1L;

    @Column("id")
    @Name
    @Comment("编号")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    @PrevInsert(uu32 = true)
    private String id;

    @Column("sqfw_id")
    @Comment("服务id")
    @ApiModelProperty(description = "服务id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String sqfwId;

    @Column("work_order_id")
    @Comment("工单id")
    @ApiModelProperty(description = "工单id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String workOrderId;

    @Column("sqfw_flow_id")
    @Comment("服务工作流id")
    @ApiModelProperty(description = "服务工作流id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String sqfwFlowId;

    @Column("sqfw_summary_id")
    @Comment("服务汇总id")
    @ApiModelProperty(description = "服务汇总id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String sqfwSummaryId;

    @Column("unit_id")
    @Comment("单位id")
    @ApiModelProperty(description = "单位id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String unitId;

    @Column("unit_name")
    @Comment("单位名称")
    @ApiModelProperty(description = "单位名称")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String unitName;

    @Column("province")
    @Comment("省份")
    @ApiModelProperty(description = "省份")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String province;

    @Column("city")
    @Comment("市")
    @ApiModelProperty(description = "市")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String city;

    @Column("district")
    @Comment("区")
    @ApiModelProperty(description = "区")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String district;

    @Column("county")
    @Comment("街道")
    @ApiModelProperty(description = "街道")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String county;

    @Column("community")
    @Comment("社区")
    @ApiModelProperty(description = "社区")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String community;

    @Column("grid")
    @Comment("网格")
    @ApiModelProperty(description = "网格")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String grid;

    @Column("courtyard")
    @Comment("院子")
    @ApiModelProperty(description = "院子")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String courtyard;

    @Column("house_number")
    @Comment("房屋号")
    @ApiModelProperty(description = "房屋号")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String houseNumber;

    @Column("building")
    @Comment("楼栋")
    @ApiModelProperty(description = "楼栋")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private String building;

    @Column("survey")
    @Comment("调查情况")
    @ApiModelProperty(description = "调查情况")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String survey;

    @Column("name")
    @Comment("名字")
    @ApiModelProperty(description = "名字")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String name;

    @Column("gender")
    @Comment("性别")
    @ApiModelProperty(description = "性别")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String gender;

    @Column("birthday")
    @Comment("生日")
    @ApiModelProperty(description = "生日")
    @ColDefine(type = ColType.DATETIME, width = 120)
    private Date birthday;

    @Column("phone")
    @Comment("电话")
    @ApiModelProperty(description = "电话")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String phone;

    @Column("emergency_phone")
    @Comment("紧急联系电话")
    @ApiModelProperty(description = "紧急联系电话")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String emergencyPhone;

    @Column("card_id")
    @Comment("身份证号")
    @ApiModelProperty(description = "身份证号")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String cardId;

    @Column("age")
    @Comment("年龄")
    @ApiModelProperty(description = "年龄")
    @ColDefine(type = ColType.INT, width = 8)
    private Integer age;

    @Column("special_mark")
    @Comment("特殊备注")
    @ApiModelProperty(description = "特殊备注")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String specialMark;

    @Column("remark")
    @Comment("备注")
    @ApiModelProperty(description = "备注")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String remark;

    @Column("user_notes")
    @Comment("用户备注")
    @ApiModelProperty(description = "用户备注")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String userNotes;

    @Column("create_date")
    @Comment("创建时间")
    @ApiModelProperty(description = "创建时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 120)
    private Date createDate;

    @Column("update_date")
    @Comment("更新时间")
    @ApiModelProperty(description = "更新时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private Date updateDate;

    @Column("latest_status")
    @Comment("最新状态")
    @ApiModelProperty(description = "最新状态")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String latestStatus;

    @Column("status_update_date")
    @Comment("最新状态更新时间")
    @ApiModelProperty(description = "最新状态更新时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private Date statusUpdateDate;

    @Column("create_by")
    @Comment("填写人id")
    @ApiModelProperty(description = "填写人id")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String createBy;

    @Column("create_user_name")
    @Comment("填写人名称")
    @ApiModelProperty(description = "填写人名称")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String createUserName;

    @Column("create_user_phone")
    @Comment("填写人电话")
    @ApiModelProperty(description = "填写人电话")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String createUserPhone;

    @Column("update_by")
    @Comment("更新人id")
    @ApiModelProperty(description = "更新人id")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String updateBy;

    @Column("upadte_user_name")
    @Comment("更新人名称")
    @ApiModelProperty(description = "更新人名称")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String upadteUserName;

    @Column("upadte_user_phone")
    @Comment("更新人电话")
    @ApiModelProperty(description = "更新人电话")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String upadteUserPhone;

    @Column("city_medical_code")
    @Comment("市医保编号")
    @ApiModelProperty(description = "市医保编号")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String cityMedicalCode;

    @Column("province_retirement_id")
    @Comment("省养老编号")
    @ApiModelProperty(description = "省养老编号")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String provinceRetirementID;

    @Column("detail_address")
    @Comment("详细地址")
    @ApiModelProperty(description = "详细地址")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String detailAddress;

    @Column("health_status")
    @Comment("健康状况")
    @ApiModelProperty(description = "健康状况")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String healthStatus;

    @Column("special_cir")
    @Comment("特殊情况")
    @ApiModelProperty(description = "特殊情况")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String specialCir;

    @Column("enterprise")
    @Comment("单位/企业")
    @ApiModelProperty(description = "单位/企业")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String enterprise;

    @Column("registered")
    @Comment("户籍地址")
    @ApiModelProperty(description = "户籍地址")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String registered;

    @Column("strengths")
    @Comment("特长")
    @ApiModelProperty(description = "特长")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String strengths;

    @Column("intend")
    @Comment("参与活动意愿")
    @ApiModelProperty(description = "参与活动意愿")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String intend;

    @Column("participate_times")
    @Comment("参加活动次数")
    @ApiModelProperty(description = "参加活动次数")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String participateTimes;

    @Column("bonus")
    @Comment("活动积分")
    @ApiModelProperty(description = "活动积分")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String bonus;

    @Column("in_region")
    @Comment("区内区外")
    @ApiModelProperty(description = "区内区外")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String inRegion;

    @Column("in_municipal")
    @Comment("市内市外")
    @ApiModelProperty(description = "市内市外")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String inMunicipal;

    @Column("special_mark_ids")
    @Comment("特殊人员类型")
    @ApiModelProperty(description = "特殊人员类型")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String specialMarkIds;

    // 巡查时间，从Sqfw_formSummary表里取
    private Date fillDate;
    private String fillDateStr;

    // 图片，从Sqfw_formSummary表里取
    private String a11;

    // 图片，从Sqfw_formSummary表里取
    private String a12;

    @Column("attribution")
    @Comment("数据归属")
    @ApiModelProperty(description = "数据归属")
    @ColDefine(type = ColType.VARCHAR)
    private String attribution;

    @Column("patrol_sum")
    @Comment("巡查情况")
    @ApiModelProperty(description = "巡查情况")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String patrolSum;

    @Column("identify_issue")
    @Comment("详细地址")
    @ApiModelProperty(description = "发现问题")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String identifyIssue;

    //查询到的用户id
    private List<String> personIds;
}
